/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controleur;

import com.opensymphony.xwork2.ActionSupport;
import modele.Inscrit;
import modele.NewHibernateUtil;
import modele.Personne;
import org.hibernate.Session;

/**
 *
 * @author Aimee
 */
public class InscriptionPersonne extends ActionSupport {
    
    
    
    //Variable Alumni
    private String nomPersonne, mailPersonne, mdpPersonne, prenomPersonne, sexePersonne, telPersonne, villePersonne, dateNaissancePersonne;
    //Variable session
    private Session hibernateSession;
    
    public String idPersonne;
    
    public Personne pers;
    
    public String admin;
    public boolean co;
    /**
     *
     * @return l'action
     * @throws Exception
     */
    public String executeAlumni() throws Exception {
        setHibernateSession(NewHibernateUtil.getSessionFactory().openSession());
        getHibernateSession().beginTransaction();
        
        

        /*if (nomPersonne != null && (!nomPersonne.equals(""))
         && prenomPersonne != null && (!prenomPersonne.equals(""))
         && sexePersonne != null && (!sexePersonne.equals(""))
         && telPersonne != null && (!telPersonne.equals(""))
         && villePersonne != null && (!villePersonne.equals(""))
         && dateNaissancePersonne != null && (!dateNaissancePersonne.equals(""))
         && mailPersonne != null && (!mailPersonne.equals(""))
         && mdpPersonne != null && (!mdpPersonne.equals(""))) {*/

        Inscrit inscrit = new Inscrit();
        inscrit.setCourrielInscrit(getMailPersonne());
        inscrit.setMdpInscrit(getMdpPersonne());
        if (getIdPersonne() != null && ! idPersonne.trim().equals("")) {
             pers = (Personne) hibernateSession.createQuery("from Personne where idPersonne =" + getIdPersonne()).uniqueResult();
             if(pers.getEstAdmin()){
                   inscrit.setStatut("actif");
                   
             }else{
                 inscrit.setStatut("inactif");
             }
             co = true;
        }else{
           inscrit.setStatut("inactif"); 
           co = false;
        }
        

        getHibernateSession().save(inscrit);

        Personne personne = new Personne();
        personne.setDateNaissancePersonne(getDateNaissancePersonne());
        personne.setEstAdmin(false);
        personne.setIdPersonne(inscrit.getIdInscrit());
        personne.setNomPersonne(getNomPersonne());
        personne.setPrenomPersonne(getPrenomPersonne());
        personne.setSexePersonne(getSexePersonne());
        personne.setTelPersonne(getTelPersonne());
        personne.setVillePersonne(getVillePersonne());
        if (co) {
            if(admin.equals("oui")){
                personne.setEstAdmin(true);
            }
        }
        getHibernateSession().save(personne);
        getHibernateSession().getTransaction().commit();

        /* } else {
         addActionError("Vous n'avez pas rempli tous les champs");
         return "erreur";
         }*/

        if(pers != null){
            return "admin";
        }else{
            return "inscription";
        }
        
    }

    /**
     * @return the nomPersonne
     */
    public String getNomPersonne() {
        return nomPersonne;
    }

    /**
     * @param nomPersonne the nomPersonne to set
     */
    public void setNomPersonne(String nomPersonne) {
        this.nomPersonne = nomPersonne;
    }

    /**
     * @return the mailPersonne
     */
    public String getMailPersonne() {
        return mailPersonne;
    }

    /**
     * @param mailPersonne the mailPersonne to set
     */
    public void setMailPersonne(String mailPersonne) {
        this.mailPersonne = mailPersonne;
    }

    /**
     * @return the mdpPersonne
     */
    public String getMdpPersonne() {
        return mdpPersonne;
    }

    /**
     * @param mdpPersonne the mdpPersonne to set
     */
    public void setMdpPersonne(String mdpPersonne) {
        this.mdpPersonne = mdpPersonne;
    }

    /**
     * @return the prenomPersonne
     */
    public String getPrenomPersonne() {
        return prenomPersonne;
    }

    /**
     * @param prenomPersonne the prenomPersonne to set
     */
    public void setPrenomPersonne(String prenomPersonne) {
        this.prenomPersonne = prenomPersonne;
    }

    /**
     * @return the sexePersonne
     */
    public String getSexePersonne() {
        return sexePersonne;
    }

    /**
     * @param sexePersonne the sexePersonne to set
     */
    public void setSexePersonne(String sexePersonne) {
        this.sexePersonne = sexePersonne;
    }

    /**
     * @return the telPersonne
     */
    public String getTelPersonne() {
        return telPersonne;
    }

    /**
     * @param telPersonne the telPersonne to set
     */
    public void setTelPersonne(String telPersonne) {
        this.telPersonne = telPersonne;
    }

    /**
     * @return the villePersonne
     */
    public String getVillePersonne() {
        return villePersonne;
    }

    /**
     * @param villePersonne the villePersonne to set
     */
    public void setVillePersonne(String villePersonne) {
        this.villePersonne = villePersonne;
    }


    /**
     * @return the dateNaissancePersonne
     */
    public String getDateNaissancePersonne() {
        return dateNaissancePersonne;
    }

    /**
     * @param dateNaissancePersonne the dateNaissancePersonne to set
     */
    public void setDateNaissancePersonne(String dateNaissancePersonne) {
        this.dateNaissancePersonne = dateNaissancePersonne;
    }

    /**
     * @return the hibernateSession
     */
    public Session getHibernateSession() {
        return hibernateSession;
    }

    /**
     * @param hibernateSession the hibernateSession to set
     */
    public void setHibernateSession(Session hibernateSession) {
        this.hibernateSession = hibernateSession;
    }

    /**
     * @return the idPersonne
     */
    public String getIdPersonne() {
        return idPersonne;
    }

    /**
     * @param idPersonne the idPersonne to set
     */
    public void setIdPersonne(String idPersonne) {
        this.idPersonne = idPersonne;
    }

    /**
     * @return the pers
     */
    public Personne getPers() {
        return pers;
    }

    /**
     * @param pers the pers to set
     */
    public void setPers(Personne pers) {
        this.pers = pers;
    }

    /**
     * @return the admin
     */
    public String getAdmin() {
        return admin;
    }

    /**
     * @param admin the admin to set
     */
    public void setAdmin(String admin) {
        this.admin = admin;
    }

    /**
     * @return the co
     */
    public boolean isCo() {
        return co;
    }

    /**
     * @param co the co to set
     */
    public void setCo(boolean co) {
        this.co = co;
    }
    
}